package com.world.business.treasure.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.world.business.treasure.domain.Treasure;
import com.world.business.treasure.domain.query.TreasureAddRequest;
import com.world.business.treasure.domain.query.TreasureRequest;
import com.world.business.treasure.domain.query.TreasureUpdateRequest;
import com.world.business.treasure.domain.vo.TreasureVO;

import java.util.List;

/**
 * <p>
 * 灵兽/灵植 服务类
 * </p>
 *
 * @author 邓驴
 * @since 2023-07-31
 */
public interface ITreasureService extends IService<Treasure> {

    /**
     * 列表
     *
     * @param request 请求参数
     * @return {@link List<TreasureVO>}
     * @author WangYX
     * @date 2023/07/31 15:20
     */
    List<TreasureVO> list(TreasureRequest request);


    /**
     * 新增
     *
     * @param request 请求参数
     * @return {@link Long} Id
     * @author WangYX
     * @date 2023/07/31 15:31
     */
    Long add(TreasureAddRequest request);


    /**
     * 修改
     *
     * @param request 请求参数
     * @author WangYX
     * @date 2023/07/31 15:36
     */
    void update(TreasureUpdateRequest request);

    /**
     * 删除
     *
     * @param id 主键id
     * @return
     * @author WangYX
     * @date 2023/07/31 15:53
     */
    void delete(Long id);

    /**
     * 详情
     *
     * @param id 主键Id
     * @return {@link TreasureVO}
     * @author WangYX
     * @date 2023/07/31 15:54
     */
    TreasureVO get(Long id);

}
